/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.rh.game;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 *
 * @author Hayden
 */
public interface GameCondition {
    public static final List<GameCondition> EMPTY_LIST = Collections.unmodifiableList(new ArrayList<GameCondition>());
    
    public static final GameCondition NULL = new NullInstance();
    
    static class NullInstance implements GameCondition  {
        private NullInstance()  { super(); }
        public boolean evaluate()  { return true; }
        public boolean evaluate(Character whom)  { return true; }
    }
    
    boolean evaluate();
    boolean evaluate(Character whom);
}
